import Http from './Http'
import config from '../config/uri'
class Api extends Http {
    // 获取菜单列表
    /**
     * @return promise
     */
    getMenuList() {
        return this.get(config.getMenuList)
    }


    // 获取订单列表
    /**
     * @return promise
     */
    getOrderList() {
        return this.get(config.getOrderList)
    }


    // 提交订单
    /**
     * @param object data 订单详情
     * @return promise
     */
    postOrderList(data) {
        return this.post(config.getOrderList, data)
    }


    // 查询订单方法
    /**
     * @param string where 查询条件
     * @return promise
     */
    selectOrder(where) {
        return this.post(config.selectOrder, {
            _id: where
        })
    }


    // 获取预约列表
    /**
     * @return promise
     */
    getAppointmentList() {
        return this.get(config.getAppointmentList)
    }

    getMenus() {
        let url = config.getMenus
        return this.get(url)

    }
    getAppointment() {
        let uri = config.getAppointment
        return this.get(uri)
    }
    getMake(_id) {
        let uri = config.getMake
        return this.get(uri)
    }

    // 提交预约
    /**
     * @param object data 预约详情
     * @return promise
     */
    postAppointment(dta) {
        return this.post(config.selectAppointment, data)
    }


    // 预约查询方法
    /**
     * @param string where 查询条件
     * @return promise
     */
    selectAppointment(where) {
        return this.post(config.selectAppointment, {
            phone: where
        })
    }


    // 获取用户列表
    /**
     * @return promise
     */
    getUser() {
        return this.get(config.signIn)
    }


    // 注册(添加用户列表数据)
    /**
     * @param object data 用户信息
     * @return promise
     */
    signIn(data) {
        return this.post(config.signIn, data)
    }


    // 登录
    /**
     * @param object data 用户名&密码
     * @return promise
     */
    login(data) {
        return this.post(config.login, data)
    }

    // 城市列表
    async getCitiesInfo() {
        let ret = await this.get(config.getCitiesInfo)
        let cites = ret.data.cities

        // 首字母索引数组 [A,B,C,D,F]
        let indexList = []
        // 城市列表数据源
        let dataList = {}

        // 循环得到了索引数组
        for (let i = 65; i <= 90; i++) {
            indexList.push(String.fromCharCode(i))
        }

        // 循环索引数组，在数据源数组中查符合条件
        indexList.forEach(item => {
            // 大写变成小写
            let lowerChar = item.toLowerCase()
            let tmp = []
            tmp = cites.filter(val => {
                return lowerChar === val.pinyin.slice(0, 1)
            })
            if (tmp.length > 0) dataList[item] = tmp
        })

        return dataList;
    }
}
export default new Api